package ordering;
import general.CPA.CPA;
import general.conflictset.ConflictSet;
import general.constraints.VariableConstraints;


public interface VariableOrdering {
	public byte next(CPA p, byte agent, VariableConstraints c);
	public byte[] between(CPA p, byte low, byte high);
	public boolean hasNext(CPA p, byte id);
	public boolean isFirst(byte id);
	public byte max(CPA p, byte agent, ConflictSet conflicts);
	public void removeBigger(CPA cpa, ConflictSet conflicts, byte id);
	public void removeBigger(CPA cpa, byte h);
	public byte previous(CPA p, byte agent);
	public boolean isBefore(CPA originCPA, byte cpaCreator, byte maxConflicted);
}
